Virtualized systems can combine hardware and software resources into a single entity. Virtualized systems can share computer resources such as storage or processing time. For example, virtualization can convert one physical computer into multiple virtual machines. The virtual machines can operate similar to a unique physical device, e.g., running its own operating system (OS). An input/output memory management unit (IOMMU) can enable virtual machines to use peripheral devices, such as Ethernet hardware, accelerated graphics cards, and hard-drive controllers. To communicate operations between virtual machines and peripheral devices, addresses can be translated or remapped between physical memory addresses of the peripheral devices and virtual memory addresses of the virtual machines. Virtualization can be supported within a single computer or server, a group of computers or servers, or across a network.